package main

import "fmt"

/**
 * @author: guangcheng
 * @date:   2020/11/21 20:27
 * @version  V1.0
 * @description:
 *
 */
func main() {

	var stu1 Student
	stu1.Name = "tom"
	stu1.Age = 20

	//{tom 20} 普通调用
	fmt.Println(stu1)
	//安照String()要求穿地址
	//Name=[tom] Age=[20] 这就是我们重写的String()
	fmt.Println(&stu1)
}

type Student struct {
	Name string
	Age  int
}

//类似于java的toString(), 重写之后默认就使用这个输出
func (stu *Student) String() string {
	str := fmt.Sprintf("Name=[%v] Age=[%v]", (*stu).Name, (*stu).Age)
	return str
}
